package zx.x.modules.app.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Select;
import zx.x.common.utils.PageUtils;
import zx.x.modules.app.dto.OrderDto;
import zx.x.modules.app.entity.OrderEntity;
import zx.x.modules.app.vo.OrderVo;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 
 *
 * @author x
 * @email x
 * @date 2022-10-13 09:55:21
 */
public interface OrderService extends IService<OrderEntity> {

    PageUtils queryPage(Map<String, Object> params);

    OrderVo selectOrderDetailed(OrderDto dto);

    // 订单列表
    List<OrderVo> selectOrderDetailedList(OrderDto dto);
    int getListTotal(OrderDto dto);

    // 订单明细 餐饮
    OrderVo selectCyOrderDetailed(OrderDto dto);
    // 订单明细 文创
    OrderVo selectWcOrderDetailed(OrderDto dto);
    // 订单明细 导游
    OrderVo selectDyOrderDetailed(OrderDto dto);

    // 后台用 订单列表
    List<OrderVo> orderList(OrderDto dto);

    // 每月收入 按年查询
    List<Map<Integer,BigDecimal>> queryProfit(OrderDto dto);

    // 每月收入 按年查询
    List<Map<Integer, BigDecimal>> queryProfitB(OrderDto dto);

    // 订单总数
    List<Map<Integer, Long>> queryOrderCount(OrderDto dto);

    // 完成订单数量
    Integer queryWcOrder(String year);

    // 退款数量
    Integer queryTkOrder(OrderDto dto);

    // 文创商品数量
    Integer queryWcSl(OrderDto dto);

    // 注册商家数
    Integer queryZcSjCount(OrderDto dto);

    // 注册用户
    Integer queryZcYh(OrderDto dto);

    // 评论条数
    Integer queryPlTs(OrderDto dto);

    Integer queryTsTs(OrderDto dto);

    // 下坠收益图 酒店收益
    List<OrderVo> queryXzSy(OrderDto dto);

    // 下坠收益图 文创数量
    List<OrderVo> queryXzWcSl(OrderDto dto);

    // 下坠收益图 微山岛门票
    OrderVo queryXzmpSl(OrderDto dto);

    // 下坠收益图 荷园画舫船票
    OrderVo queryXzHyhfcp(OrderDto dto);

    // 下坠收益图 大官画舫船票
    OrderVo queryXzDghfcp(OrderDto dto);
}

